package com.yict.csms.resourceplan.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.yict.csms.company.entity.Company;
import com.yict.csms.system.entity.DataDict;
import com.yict.csms.system.entity.User;

/**
 * 
 * @author Patrick.Deng
 * 
 */
@Entity
@Table(name = "CSMS_RTGC_FL_ORDER")
public class RtgcFlOrder {

	@Id
	@Column(name = "ORDERID")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "csms_rtgc_fl_order_seq")
	@SequenceGenerator(name = "csms_rtgc_fl_order_seq", sequenceName = "SEQ_CSMS_RTGC_FL_ORDER", allocationSize = 1, initialValue = 1)
	private Long orderId;

	@Column(name = "BATCH")
	private Long batch;

	@ManyToOne
	@JoinColumn(name = "COMPANYID")
	private Company company;

	@Column(name = "ORDERDATE")
	private Date orderDate;

	@ManyToOne
	@JoinColumn(name = "ORDERTIME")
	private DataDict orderTime;

	@ManyToOne
	@JoinColumn(name = "MACHINE")
	private DataDict machine;

	@Column(name = "ORDERQUANTITY")
	private Double orderQuantity;

	@Column(name = "ORDERQUANHOURS")
	private Double orderQuanHours;

	@Column(name = "ORDERBEGINTIME")
	private Date orderBeginTime;

	@Column(name = "ORDERENDTIME")
	private Date orderEndTime;

	@Column(name = "WORKQUANTITY")
	private Double workQuantity;

	@Column(name = "WORKQUANHOURS")
	private Double workQuanHours;

	@Column(name = "WORKBEGINDATE")
	private Date workBeginDate;

	@Column(name = "WORKENDDATE")
	private Date workEndDate;

	@ManyToOne
	@JoinColumn(name = "STATUS")
	private DataDict status;

	@ManyToOne
	@JoinColumn(name = "ORDERPERSON")
	private User orderPerson;

	@Column(name = "ORDERBYDATE")
	private Date orderByDate;

	@ManyToOne
	@JoinColumn(name = "REORDERPERSON")
	private User reOrderPerson;

	@Column(name = "REORDERDATE")
	private Date reOrderDate;

	@ManyToOne
	@JoinColumn(name = "ASSIGNEDPERSON")
	private User assignedPerson;

	@Column(name = "ASSIGNEDDATE")
	private Date assignedDate;

	@ManyToOne
	@JoinColumn(name = "REASSIGNEDPERSON")
	private User reAssignedPerson;

	@Column(name = "REASSIGNEDDATE")
	private Date reAssignedDate;

	@ManyToOne
	@JoinColumn(name = "CONFIRMPERSON")
	private User confirmPerson;

	@Column(name = "CONFIRMDATE")
	private Date confirmDate;

	@ManyToOne
	@JoinColumn(name = "RECONFIRMPERSON")
	private User reConfirmPerson;

	@Column(name = "RECONFIRMDATE")
	private Date reConfirmDate;

	@Column(name = "CREATEPERSON")
	private Long createPerson;

	@Column(name = "CREATEDATE")
	private Date createDate;

	@Column(name = "UPDATEPERSON")
	private Long updatePerson;

	@Column(name = "UPDATEDATE")
	private Date updateDate;

	public Long getOrderId() {
		return orderId;
	}

	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public Long getBatch() {
		return batch;
	}

	public void setBatch(Long batch) {
		this.batch = batch;
	}

	public Company getCompany() {
		return company;
	}

	public void setCompany(Company company) {
		this.company = company;
	}

	public Date getOrderDate() {
		return orderDate;
	}

	public void setOrderDate(Date orderDate) {
		this.orderDate = orderDate;
	}

	public DataDict getOrderTime() {
		return orderTime;
	}

	public void setOrderTime(DataDict orderTime) {
		this.orderTime = orderTime;
	}

	public DataDict getMachine() {
		return machine;
	}

	public void setMachine(DataDict machine) {
		this.machine = machine;
	}

	public Double getOrderQuantity() {
		return orderQuantity;
	}

	public void setOrderQuantity(Double orderQuantity) {
		this.orderQuantity = orderQuantity;
	}

	public Double getOrderQuanHours() {
		return orderQuanHours;
	}

	public void setOrderQuanHours(Double orderQuanHours) {
		this.orderQuanHours = orderQuanHours;
	}

	public Date getOrderBeginTime() {
		return orderBeginTime;
	}

	public void setOrderBeginTime(Date orderBeginTime) {
		this.orderBeginTime = orderBeginTime;
	}

	public Date getOrderEndTime() {
		return orderEndTime;
	}

	public void setOrderEndTime(Date orderEndTime) {
		this.orderEndTime = orderEndTime;
	}

	public Double getWorkQuantity() {
		return workQuantity;
	}

	public void setWorkQuantity(Double workQuantity) {
		this.workQuantity = workQuantity;
	}

	public Double getWorkQuanHours() {
		return workQuanHours;
	}

	public void setWorkQuanHours(Double workQuanHours) {
		this.workQuanHours = workQuanHours;
	}

	public Date getWorkBeginDate() {
		return workBeginDate;
	}

	public void setWorkBeginDate(Date workBeginDate) {
		this.workBeginDate = workBeginDate;
	}

	public Date getWorkEndDate() {
		return workEndDate;
	}

	public void setWorkEndDate(Date workEndDate) {
		this.workEndDate = workEndDate;
	}

	public DataDict getStatus() {
		return status;
	}

	public void setStatus(DataDict status) {
		this.status = status;
	}

	public User getOrderPerson() {
		return orderPerson;
	}

	public void setOrderPerson(User orderPerson) {
		this.orderPerson = orderPerson;
	}

	public Date getOrderByDate() {
		return orderByDate;
	}

	public void setOrderByDate(Date orderByDate) {
		this.orderByDate = orderByDate;
	}

	public User getReOrderPerson() {
		return reOrderPerson;
	}

	public void setReOrderPerson(User reOrderPerson) {
		this.reOrderPerson = reOrderPerson;
	}

	public Date getReOrderDate() {
		return reOrderDate;
	}

	public void setReOrderDate(Date reOrderDate) {
		this.reOrderDate = reOrderDate;
	}

	public User getAssignedPerson() {
		return assignedPerson;
	}

	public void setAssignedPerson(User assignedPerson) {
		this.assignedPerson = assignedPerson;
	}

	public Date getAssignedDate() {
		return assignedDate;
	}

	public void setAssignedDate(Date assignedDate) {
		this.assignedDate = assignedDate;
	}

	public User getReAssignedPerson() {
		return reAssignedPerson;
	}

	public void setReAssignedPerson(User reAssignedPerson) {
		this.reAssignedPerson = reAssignedPerson;
	}

	public Date getReAssignedDate() {
		return reAssignedDate;
	}

	public void setReAssignedDate(Date reAssignedDate) {
		this.reAssignedDate = reAssignedDate;
	}

	public User getConfirmPerson() {
		return confirmPerson;
	}

	public void setConfirmPerson(User confirmPerson) {
		this.confirmPerson = confirmPerson;
	}

	public Date getConfirmDate() {
		return confirmDate;
	}

	public void setConfirmDate(Date confirmDate) {
		this.confirmDate = confirmDate;
	}

	public User getReConfirmPerson() {
		return reConfirmPerson;
	}

	public void setReConfirmPerson(User reConfirmPerson) {
		this.reConfirmPerson = reConfirmPerson;
	}

	public Date getReConfirmDate() {
		return reConfirmDate;
	}

	public void setReConfirmDate(Date reConfirmDate) {
		this.reConfirmDate = reConfirmDate;
	}

	public Long getCreatePerson() {
		return createPerson;
	}

	public void setCreatePerson(Long createPerson) {
		this.createPerson = createPerson;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Long getUpdatePerson() {
		return updatePerson;
	}

	public void setUpdatePerson(Long updatePerson) {
		this.updatePerson = updatePerson;
	}

	public Date getUpdateDate() {
		return updateDate;
	}

	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}
}
